Generated by
JDiff

org.globalplatform.contactless Documentation Differences

This file contains all the changes in documentation in the package org.globalplatform.contactless as colored differences. Deletions are shown like this, and additions are shown like this.
If no deletions or additions are shown in an entry, the HTML tags will be what has changed. The new HTML tags are shown in the differences. If no documentation existed, and then some was added in a later version, this change is noted in the appropriate class pages of differences, but the change is not shown on this page. Only changes in existing text are shown here. Similarly, documentation which was inherited from another class or interface is not shown here.
Note that an HTML error in the new documentation may cause the display of other documentation changes to be presented incorrectly. For instance, failure to close a <code> tag will cause all subsequent paragraphs to be displayed differently.

Class CLAppletEvent

Definition of contactless events. These events shall be used to notify current state, or state change request in the following methods: @since
Class CLAppletEvent, short EVENT_COMMUNICATIONS_ISO14443_DISABLED

The applet cannot be accessed through the Contactless Communication interface (eg ISO 14443). @since export file version 1.11 @deprecated Replaced by .EVENT_PROXIMITY_INTERFACE_ACCESS_DISABLED.
Class CLAppletEvent, short EVENT_COMMUNICATIONS_ISO14443_ENABLED

The applet can be accessed through the Contactless Communication interface (eg ISO 14443). @since export file version 1.11 @deprecated Replaced by .EVENT_PROXIMITY_INTERFACE_ACCESS_ENABLED.
Class CLAppletEvent, short EVENT_DELETED

The applet washas been deleted. This event shall *not* be notified to the applet being deleted.
Class CLAppletEvent, short EVENT_INSTALLED

The applet has been installed and is in the GPSystem.APPLICATION_INSTALLED state. This event shall *not* be notified to the applet being installed.
Class CLAppletEvent, short EVENT_LOCKED

The applet washas been locked.
Class CLAppletEvent, short EVENT_SELECTABLE

The applet has transitioned from the GPSystem.APPLICATION_INSTALLED to the GPSystem.APPLICATION_SELECTABLE state. This event shall be notified to the applet upon successfull processing of the INSTALL [for install and make selectable] or INSTALL [for make selectable] command. Any subsequent return to the SELECTABLE state (e.g. application unlocked or application requesting to return to the SELECTABLE state) shall *not* trigger this event.
Class CLAppletEvent, short EVENT_UNLOCKED

The applet washas been unlocked.

Class CRSApplication, boolean processCLRequest(GPRegistryEntry, GPCLRegistryEntry, short)

Called by the OPEN for each activation or volatile priority requested by an Application that does not have the Self-Activation Privilege.

The CRS Application shall use GPCLRegistryEntry to change the life cycle state of the requesting applet.

If the Applet implementing the CRSApplication interface returns from the notification and initiated transaction in progress,then the OPEN automatically aborts the transaction. @param requester the GPRegistryEntry of the applet requesting the change @param target the GPCLRegistryEntry of the contactless applet to update @param event requested change:

@return true if transition success, false otherwise.

Class GPCLRegistryEntry

Defines methods that manage the GlobalPlatform registry extension on contactless interface for an applet.

All OPEN-owned objects implementing the GPRegistryEntry interface shall also implement and may be casted to the GPCLRegistryEntry interface.

When an Application is deleted, then the GPCLRegistryEntry object corresponding to this Application shall be disabled and all its methods, except the GPRegistryEntry.getAID method, shall shall throw a javacard.framework.SystemException with reason code SystemException.ILLEGAL_USE. The OPEN shall ensure that this GPCLRegistryEntry object can never be re-enabled, even if an Application with the same AID as the Application previously bound to thisto this GPCLRegistryEntry object is installed. The OPEN shall not return this GPCLRegistryEntry object as the result of any of the methods this API. An application holding holding a reference to a disabled GPCLRegistryEntry object should release release it, as it has become useless andand will only throw exceptions.

Note: Developers shall pay attention to the CRELApplication, CLApplet and CRSApplication interfaces being notified upon usage of GPCLRegistryEntry services. Therefore, it is strongly recommended *not* to call the services provided by this interface when a Java Card transaction is under progress. @see GPCLSystem#getGPCLRegistryEntry(AID) @see GPCLSystem#getNextGPCLRegistryEntry(GPCLRegistryEntry, short) @since

Class GPCLRegistryEntry, void addToCRELApplicationList(byte[], short, short)

Adds an AID to the CREL Applicationlist of listCREL Applications referenced by this entry. @param baAID byte array containing the AID value @param offsetAID start offset of the AID value @param lengthAID length of the AID value @exception ISOException with reason code
Class GPCLRegistryEntry, void addToGroupAuthorizationList(byte[], short, short)

Adds an AID to the Group Authorization List. The application represented by this entry shall be either a Head Application or a Standalone Application. @param baAID byte array containing the AID value @param offsetAID start offset of the AID value @param lengthAID length of the AID value @exception ISOException with reason code
Class GPCLRegistryEntry, byte getCLState()

Retrieves the contactless lifeactivation cycle state of the applicationApplication. @return byte value of contactless activation state:
Class GPCLRegistryEntry, short getInfo(byte[], short, short)

Retrieves the contents of thean Application Information entry instored the GlobalPlatform registryby this entry. Returned data is formatted as specified for the INSTALL system parameter relating to the specified INFO_XX constant. @param buffer where requested information shall be written. For the coding of the data see the documentation of the constants INFO_XX. @param offset within buffer, where requested information shall be written. @param info is any constant with name INFO_XX which is defined in this interface. @return (offset + length of data written in buffer) @exception ISOException with reason code @exception ArrayIndexOutOfBoundsException if storing the Application Information bytes would cause access outside array bounds or the offset is negative. @exception NullPointerException if buffer is null
Class GPCLRegistryEntry, GPCLRegistryEntry getNextCRELApplication(GPCLRegistryEntry)

Retrieves the list of CREL Applications referenced by this entry. @param oEntry GPCLRegistryEntry @return @exception ISOException with reason code @exception SecurityException if oEntry is not a JCRE-owned instance of GPCLRegistryEntry. @exception SystemException with reason code SystemException.ILLEGAL_USE if the specified oEntry corresponds to an application that has been deleted.
Class GPCLRegistryEntry, GPCLRegistryEntry getNextConflictingApplication(GPCLRegistryEntry)

Retrieves the list of currently activated Contactless Applications that would conflict if the Contactless Application represented by this entry was activated.

NOTE: For Applications belonging to an Application Group, Contactless Protocol Parameters (used to perform conflict detection) are provided by the Head Application of that group, even if the Member Application was personalized with its own parameter values. @param oEntry GPCLRegistryEntry @return

@exception ISOException with reason code @exception SecurityException if oEntry is not a JCRE-owned instance of GPCLRegistryEntry. @exception SystemException with reason code SystemException.ILLEGAL_USE if the specified oEntry corresponds to an application that has been deleted.
Class GPCLRegistryEntry, GPCLRegistryEntry getNextGroupMember(GPCLRegistryEntry)

Retrieves the list of member Applications belonging to the Application Group represented by this entry (Head Application). @param oEntry GPCLRegistryEntry @return @exception ISOException with reason code @exception SecurityException if oEntry is not a JCRE-owned instance of GPCLRegistryEntry. @exception SystemException with reason code SystemException.ILLEGAL_USE if the specified oEntry corresponds to an application that has been deleted.
Class GPCLRegistryEntry, GPCLRegistryEntry getNextReferencingApplication(GPCLRegistryEntry)

Retrieves the list of Applications that reference this entry as one of their CREL Applications. @param oEntry GPCLRegistryEntry @return @exception ISOException with reason code @exception SecurityException if oEntry is not a JCRE-owned instance of GPCLRegistryEntry. @exception SystemException with reason code SystemException.ILLEGAL_USE if the specified oEntry corresponds to an application that have been deleted.
Class GPCLRegistryEntry, boolean isGroupHead()

Whether this entry represents a Group Head. @return true true if thisthe Application represented by this entry is a Group Head, false otherwise (either a Group Member or a standalone Application). @exception ISOException with reason code
Class GPCLRegistryEntry, boolean isGroupMember()

Whether this entry represents a Group Member. @return true if thisthe Application represented by this entry is a Group Member, false if this Applicationotherwise is(either a Group Head or is a standalone Application). @exception ISOException with reason code code
Class GPCLRegistryEntry, void joinGroup(AID)

Sets up this entry as a member of the Application Group with specified Head Application. @param oHead Head Application's AID. The null value shall be used to leave any Application Group to which this entry may belong. @exception ISOException with reason code
Class GPCLRegistryEntry, void removeFromCRELApplicationList(byte[], short, short)

Removes an AID from the CREL Applicationlist of listCREL Applications referenced by this entry. @param baAID byte array containing the AID value @param offsetAID start offset of the AID value @param lengthAID length of the AID value @exception ISOException with reason code
Class GPCLRegistryEntry, void removeFromGroupAuthorizationList(byte[], short, short)

Removes an AID from the Group Authorization List. If the application represented by this entry is not a Head Application, or the specified AID does not belong to the Group Authorization List, then the method simply returns with no error. @param baAID byte array containing the AID value @param offsetAID start offset of the AID value @param lengthAID length of the AID value @exception ISOException with reason code
Class GPCLRegistryEntry, byte setCLState(byte)

Changes the contactless life cycleactivation state of the applet associated with Application represented by this entry.

WhenOnly the Application represented by this entry is amay Group Member and is intransition to or from the .STATE_CL_NON_ ACTIVATABLE state state. then When this entry follows the activation state of the Head Application when represents a Group Member currently in the NON ACTIVATABLE state transitionand of this entry isthat Group Member requests transioning to .STATE_CL_ACTIVATEDthe or toDEACTIVATED state (i.STATE_CL_DEACTIVATEDe. Only the application associated toonly allowed transition request at this entrytime), maythen transitionit shall be automatically transitioned to the same activation state as its associated Head Application (except if the Head Application is in the .STATE_CL_NON_ACTIVATABLE state).

The applicationApplication associated torepresented by this entry, or or the Application with thethe .PRIVILEGE_CONTACTLESS_ACTIVATION privilege, or or CREL ApplicationsApplications registered in the CREL list of the associatedApplication applet may transitionrepresented by this entry, may transition this entry to the .STATE_CL_DEACTIVATED state.

When thea state transitionrequest is ofmade to transition this entry is to the .STATE_CL_ACTIVATED state, then

The OPEN is responsible to notify allfor notifying the Applicationtransition (sif any) implementingto the CRELApplication.notifyCLEvent(GPCLRegistryEntryfollowing Applications, short). except Ifto the Applicationone associated to thisthat is at entry,the origin of the request: It shall be supported to change the activation state of a contactless applet irrespective of the state of the contactless front end in the handset. When the contactless functionality is enabled the OPEN shall ensure that the contactless front end is provisioned so that it reflects the configuration of the contactless applets in the OPEN.

@param state requested Availabilityactivation state on Contactlesscontactless interface. The possible statestates are:

@return the resulting Availablityactivation state on Contactlesscontactless interface. @exception ISOException with reason code @see GPRegistryEntry
Class GPCLRegistryEntry, short setInfo(byte[], short, short, short)

Updates the contents of thean Application Information associated tostored by this GPCLRegistryEntryentry. Received data is expected to be formatted as specified for the INSTALL system parameter relating to the specified INFO_XX constant. @param buffer contains the updated information. For the coding of the data see the documentation of the constants INFO_XX. @param offset within buffer, where updated information can be found @param length of the updated information @param info is any constant with name INFO_XX which is defined in this interface. @return (offset + length) @exception ISOException with reason code @exception ArrayIndexOutOfBoundsException if storing the Application Information bytes would cause access outside array bounds or the offset is negative. @exception NullPointerException if buffer is null
Class GPCLRegistryEntry, void setPartialSelectionOrder(boolean)

Sets the permanent order of the GlobalPlatform Registry used by application selection by AID matching.

If this entry is a Head Application, all Group Members are moved together with the Head Application in the same order. @param TopBottomhighestLowest

@exception ISOException with reason code
Class GPCLRegistryEntry, short INFO_GROUP_HEAD_APPLICATION

The requested information is the AID of the Group Head Application if this entry correspond to a Member Application. The binary value of the AID (5 to 16 bytes) is written to the specified buffer. @see #isGroupMember @since export file version 1.1
Class GPCLRegistryEntry, short INFO_PROTOCOL_DATA_TYPE_F

The requested information is the PROTOCOL_DATA_TYPE_F (reservedi.e. content of INSTALL system for futureparameter Tag usage'88').
Class GPCLRegistryEntry, short INFO_SELECTION_PRIORITY

The requested information is the Selection Priority (READ ONLY) encoded as a single unsigned byte.

The Selection Priority is calculated based on the absolute position of the Contactless Application's entry in the GlobalPlatform Registry, and the Volatile Priority, if assigned. @since export file version 1.1


Class GPCLSystem

This class exposes a subset of the behavior of the CRS (OPEN extension) to other on-card components. @since
Class GPCLSystem, boolean checkCommunicationInterfaceAccess(GPRegistryEntry, short)

Checks whether a GPRegistryEntry can be accessed through specified communication interface. @param sInterface .GPCL_INTERFACEPROXIMITY_IO_ISO14443INTERFACE @exception ISOException with reason code @since export file version 1.1
Class GPCLSystem, GPCLRegistryEntry getNextGPCLRegistryEntry(GPCLRegistryEntry, short)

Iterates over contactless applets belonging to a particular application familyApplication Family.

Contactless applets are those applets that have access to the contactless interface (.GPCL_INTERFACE_ISO14443), as specified by Communication Interface Access Parameters (see INSTALL system parameter Tag 'A5' or, if not present, implementation-dependent default OPEN values). This method returns the GPCLRegistryEntry object for the next contactless applet that matches the search criteria. This method shall only return entries corresponding to applets currently having access to the contactless interface.

@param oEntry @param sFamily the FamilyApplication IdentifierFamily to look for (as defined in ISO 14443-3). This method shall filter registry entries based on an exact match with this parameter, with the following precisions: @return the reference to the GPCLRegistryEntry interface object of the contactless applet matching the search criteria; null is returned if no application is matching or the end of the list is reached. @exception ISOException with reason code @exception SecurityException if oEntry is not a JCRE-owned instance of GPCLRegistryEntry. @exception SystemException with reason code SystemException.ILLEGAL_USE if the specified oEntry corresponds to an application that has been deleted. @see #AFI_ANY @see #AFI_TRANSPORT @see #AFI_TELECOMMUNICATION @see #AFI_MULTIMEDIA @see #AFI_MEDICAL @see #AFI_IDENTIFICATION @see #AFI_GAMING @see #AFI_FINANCIAL @see #AFI_DATA_STORAGE
Class GPCLSystem, void setCommunicationInterface(short, boolean)

Switches ON or OFF persistently the specified communication interface at GlobalPlatform card level. The technical means for switching an interface ON and OFF are implementation dependent. When the contactless interface is switched off, a reset of the contactless interface shall be performed. @param sInterface .GPCL_INTERFACEPROXIMITY_IO_ISO14443INTERFACE @param onOff true to switch ON, false to switch OFF @exception ISOException with reason code
Class GPCLSystem, void setVolatilePriority(GPCLRegistryEntry)

Sets up or discardsresets the volatile priority for the specified entry.

@paramAn oEntry Application may be assigned the volatile priority only if it is already in the ACTIVATED state, or if it is in the DEACTIVATED state and can be activated. Moreover, a Member Application (part of an Application Group) nullcannot value discardsbe assigned the volatile priority directly.

Any Application currently having the volatile priority (e.g. possibly a Member Application whose group has been assigned the volatile priority), the Application with the GPCLRegistryEntry.PRIVILEGE_CONTACTLESS_ACTIVATION privilege, and any CREL Application referenced by an Application currently having the volatile priority, may reset the volatile priority.

An Application (or Application Group) may be assigned the Volatile Priority even if the Volatile Priority is already assigned. In this case, the implementation shall first check that the Application can be activated and if so, the Volatile Priority shall be first reset before the Application gets the Volatile Priority. The behavior in the case the same Application already has and is assigned again the Volatile Priority remains implementation specific, in particular with respect to notifications.

When a request is made to assign the volatile priority, then

If the volatile priority is assigned, then the CLAppletEvent.EVENT_VOLATILE_SELECTION_PRIORITY_SET shall be notified. In addition, an Application in the DEACTIVATED state that is assigned the volatile priority priority shall have its contactless activation state automatically transitioned to the ACTIVATED state: this latter modification shall NOT be notified.

If the volatile priority is reset, then the CLAppletEvent.EVENT_VOLATILE_SELECTION_PRIORITY_RESET shall be notified. In addition, any Application that previously had the volatile priority shall have its contactless activation state reset to its previous value (before being assigned the volatile priority): this entrylatter correspondsmodification shall NOT be notified.

The OPEN is responsible for notifying the change of volatile priority (if any) to athe Headfollowing Applications, except to the one that is at the origin of the request:

It shall be supported to assign or reset the volatile priority
irrespective of all applicationsthe state of correspondingthe group arecontactless front partend in the handset. When the contactless functionality is enabled the OPEN shall ensure that the contactless front end is provisioned so that it reflects the configuration of the contactless applets in the OPEN.

@param oEntry The entry for which the volatile priority priority is requested. The null value shall be used to reset the volatile priority. If oEntry corresponds to a Head Application, then all corresponding Member Applications shall be assigned the volatile priority in the same order as in the GlobalPlatform registry. @exception ISOException with reason code code

@exception SystemException with reason code SystemException.ILLEGAL_USE if the specified oEntry corresponds to an Application that has been deleted. @exception SecurityException if oEntry is not a JCRE-owned instance of GPCLRegistryEntry.
Class GPCLSystem, short CARD_INFO_CURRENT_PROTOCOL_DATA_TYPE_F

The requested information is the CURRENT_PROTOCOL_DATA_TYPE_F (reservedi.e. encoded as the content of sub tag 'A0' of INSTALL system for futureparameter Tag usage'88').
Class GPCLSystem, short CARD_INFO_DEFAULT_PROTOCOL_DATA_TYPE_F

The requested information is the DEFAULT_PROTOCOL_DATA_TYPE_F (reservedi.e. content of INSTALL system parameter Tag '88' when sent to for future usageupdate OPEN parameters).
Class GPCLSystem, short GPCL_INTERFACE_ISO14443

This constant is used with .setCommunicationInterface(short, boolean) to manage a ISO14443 based communication interface. @deprecated Replaced by .GPCL_PROXIMITY_IO_INTERFACE.